Software today is developed by authors who represent both large software companies and independent programmers. Both types of authors, however, are faced with problems associated with marketing their software, and with limiting the use of the software to only authorized users.
In a direct-marketing system, an author markets software directly to the user via a computer network, such as the Internet for example. Typically, a large software company distributes demonstration copies of commercial software products and invites the user to test the software. If the user is satisfied, the user sends a payment to the company in return for the commercial version of the software. Independent programmers, in contrast, often distribute what is known as shareware, in which the user is allowed to test software that is typically a smaller, but fully functioning version of a commercial program. If the user is satisfied, the user is requested to pay the programmer a fraction of the cost of the commercial product in return for technical support and documentation.
Providing the user with demonstration software or providing the software without documentation prior to payment is an attempt by the author to restrict users who have not paid from using the software. To prevent unauthorized copying, the author could send the software to the users in encrypted form and require the user to send for a key in order to unlock the software. However, after the user has received the key and unlocked the software, the user may distribute the software to others, and the author has no way of knowing which users have been formally authorized.
A system which allows for the distribution of software which is on-line is described in copending patent application Ser. No. 08/638,949, now U.S. Pat. No. 5,864,620 entitled "A Method and System for Controlling Distribution of Software in a Multilevel Distribution Chain", and assigned to the assignee of the present invention.
The above-identified patent application is directed toward a method and system for controlling distribution of software to a user in a multitiered distribution chain. The system includes at least one entity that distributes the software in a locked software container. The distribution includes means for receiving a request from the user to use the software. The method and system further includes a license clearing house for controlling usage rights of the software. The license clearing house includes means for receiving the request from the at least one entity, means for validating the request, means for generating a unique authentication certificate if the request was validated, and means for sending a reply to the user. The reply includes the authentication certificate and a master key, where the master key unlocks the software container and enables the user to use the software, and the authentication certificate identifies the user as an authorized user of the software.
According to the system and method disclosed herein, the only trusted entity in the distribution chain is the license clearing house, all other entities including the author of the software are incapable of generating authorization certificates. Although this system works effectively for its intended purposes, it has some drawbacks that are in common with other conventional systems. To more clearly describe these drawbacks refer now to the following discussion.
Most typical systems are based on a vending machine business model where an enduser decides to purchase a product, completes the order and payment process, and then is authorized to download the product, which is secured by a encrypted wrapper. Along with the download, an electronic license certificate (ELC) that also contains an unlock key is delivered to the end-user via e-mail.
Such systems have some common characteristics which will be described below. First of all, all products must be packed in a secure container. Commonly, this is a wrapper technology that can be provided for example by Portland Software, Inc. Packed product (Bag of Bits or BOB) can be acquired from any source and is basically useless until opened by the key. As a result of a purchase the end-user receives a separate ELC and a reference to a location for downloading the BOB. BOBs must be downloaded completely prior to unpacking. The ELC carries references to the end-user license agreement from the product publisher that must be agreed to by the end-user prior to unpacking and installing the BOB. ELCs are digitally signed documents that function both as a delivery mechanism for unlock keys and a digital proof of purchase. The end-user activates the BOB unpack program and copies the ELC into the BOB. Assuming the ELC is valid, the packed BOB opens and installs the program.
The primary challenges associated with the current system include:
Usability. Intellectual property (IP) rights publishers desire to brand and manage the end-user's experience. This requires a unpack product that provides some form of scripting capabilities in which the IP rights publisher can adjust and alter the behavior of the unpack application.
2. End-user unpack and install experience. This may be viewed as a component of usability, but is more focused at adapting the actual end-user's experience unpacking and installing the product for a market that is primarily non-technical and not very adept with computer systems.
3. Failed BOB downloads: For whatever reason, the download of a BOB may fail. In the case of the vending machine business model, an end-user has already been charged for the product. This adds to the frustration of the end-user.
The aforementioned factors have a significant negative impact on the community of end-users and result in numerous customer calls to both merchants and IP publisher support centers. Left unresolved, these issues will adversely impact the profitability of selling digital products.
Accordingly, what is needed is an improved system and method for delivering digital products that is more effective than previously known systems. The present invention addresses such a need.